The content of a single frame in a modern graphics application continues to expand as graphics processing units (GPUs) increase in capability. This can lead to errors and performance problems that are difficult to analyze in real time while the application renders the final image. The use of multiple rendering targets, composited to construct the final image, only contributes to the difficulty of debugging and performance tuning.
Many solutions exist whereby a frame is captured for analysis after the application has exited. The main issue with these solutions is the turnaround time for modifications is excessive for efficient problem detection and solving. Also, such methods can consume excessive resources for storage of the frame information until the analysis is performed.